/*
 * Academic License - for use in teaching, academic research, and meeting
 * course requirements at degree granting institutions only.  Not for
 * government, commercial, or other organizational use.
 *
 * File: LBG_Arctan_FOC_private.h
 *
 * Code generated for Simulink model 'LBG_Arctan_FOC'.
 *
 * Model version                  : 2.42
 * Simulink Coder version         : 9.8 (R2022b) 13-May-2022
 * C/C++ source code generated on : Thu Feb 20 14:11:54 2025
 *
 * Target selection: ert.tlc
 * Embedded hardware selection: Intel->x86-64 (Windows64)
 * Code generation objectives: Unspecified
 * Validation result: Not run
 */

#ifndef RTW_HEADER_LBG_Arctan_FOC_private_h_
#define RTW_HEADER_LBG_Arctan_FOC_private_h_
#include "rtwtypes.h"
#include "model_reference_types.h"
#include "multiword_types.h"
#include "LBG_Arctan_FOC.h"
#include "LBG_Arctan_FOC_types.h"

/* Private macros used by the generated code to access rtModel */
#ifndef rtmIsSampleHit
#define rtmIsSampleHit(sti, tid)       (LBG_Arctan_FOC_TimingBrdg->taskCounter[LBG_Arctan_FOC_GlobalTID[sti]] == 0)
#endif

#ifndef UCHAR_MAX
#include <limits.h>
#endif

#if ( UCHAR_MAX != (0xFFU) ) || ( SCHAR_MAX != (0x7F) )
#error Code was generated for compiler with different sized uchar/char. \
Consider adjusting Test hardware word size settings on the \
Hardware Implementation pane to match your compiler word sizes as \
defined in limits.h of the compiler. Alternatively, you can \
select the Test hardware is the same as production hardware option and \
select the Enable portable word sizes option on the Code Generation > \
Verification pane for ERT based targets, which will disable the \
preprocessor word size checks.
#endif

#if ( USHRT_MAX != (0xFFFFU) ) || ( SHRT_MAX != (0x7FFF) )
#error Code was generated for compiler with different sized ushort/short. \
Consider adjusting Test hardware word size settings on the \
Hardware Implementation pane to match your compiler word sizes as \
defined in limits.h of the compiler. Alternatively, you can \
select the Test hardware is the same as production hardware option and \
select the Enable portable word sizes option on the Code Generation > \
Verification pane for ERT based targets, which will disable the \
preprocessor word size checks.
#endif

#if ( UINT_MAX != (0xFFFFFFFFU) ) || ( INT_MAX != (0x7FFFFFFF) )
#error Code was generated for compiler with different sized uint/int. \
Consider adjusting Test hardware word size settings on the \
Hardware Implementation pane to match your compiler word sizes as \
defined in limits.h of the compiler. Alternatively, you can \
select the Test hardware is the same as production hardware option and \
select the Enable portable word sizes option on the Code Generation > \
Verification pane for ERT based targets, which will disable the \
preprocessor word size checks.
#endif

#if ( ULONG_MAX != (0xFFFFFFFFU) ) || ( LONG_MAX != (0x7FFFFFFF) )
#error Code was generated for compiler with different sized ulong/long. \
Consider adjusting Test hardware word size settings on the \
Hardware Implementation pane to match your compiler word sizes as \
defined in limits.h of the compiler. Alternatively, you can \
select the Test hardware is the same as production hardware option and \
select the Enable portable word sizes option on the Code Generation > \
Verification pane for ERT based targets, which will disable the \
preprocessor word size checks.
#endif

/* Macros for accessing real-time model data structure */
#ifndef rtmGetClockTick0
#define rtmGetClockTick0()             ( *((LBG_Arctan_FOC_TimingBrdg->clockTick[LBG_Arctan_FOC_GlobalTID[0]])) )
#endif

#ifndef rtmGetClockTick1
#define rtmGetClockTick1()             ( *((LBG_Arctan_FOC_TimingBrdg->clockTick[LBG_Arctan_FOC_GlobalTID[1]])) )
#endif

#ifndef rtmGetClockTick2
#define rtmGetClockTick2()             ( *((LBG_Arctan_FOC_TimingBrdg->clockTick[LBG_Arctan_FOC_GlobalTID[2]])) )
#endif

#ifndef rtmGetClockTickH0
#define rtmGetClockTickH0()            ( *(LBG_Arctan_FOC_TimingBrdg->clockTickH[LBG_Arctan_FOC_GlobalTID[0]]) )
#endif

#ifndef rtmGetClockTickH1
#define rtmGetClockTickH1()            ( *(LBG_Arctan_FOC_TimingBrdg->clockTickH[LBG_Arctan_FOC_GlobalTID[1]]) )
#endif

#ifndef rtmGetClockTickH2
#define rtmGetClockTickH2()            ( *(LBG_Arctan_FOC_TimingBrdg->clockTickH[LBG_Arctan_FOC_GlobalTID[2]]) )
#endif

#ifndef rtmGetErrorStatus
#define rtmGetErrorStatus(rtm)         (*((rtm)->errorStatus))
#endif

#ifndef rtmSetErrorStatus
#define rtmSetErrorStatus(rtm, val)    (*((rtm)->errorStatus) = (val))
#endif

#ifndef rtmGetErrorStatusPointer
#define rtmGetErrorStatusPointer(rtm)  (rtm)->errorStatus
#endif

#ifndef rtmSetErrorStatusPointer
#define rtmSetErrorStatusPointer(rtm, val) ((rtm)->errorStatus = (val))
#endif

#ifndef rtmGetT
#define rtmGetT()                      (*(LBG_Arctan_FOC_TimingBrdg->taskTime[0]))
#endif

extern const real32_T rtCP_pooled_7x7Hr3MX2jW3[1002];

#define rtCP_sine_table_values_Value   rtCP_pooled_7x7Hr3MX2jW3  /* Computed Parameter: rtCP_sine_table_values_Value
                                                                  * Referenced by: '<S119>/sine_table_values'
                                                                  */

extern int_T LBG_Arctan_FOC_GlobalTID[3];
extern const rtTimingBridge *LBG_Arctan_FOC_TimingBrdg;

/* Invariant block signals (default storage) */
extern const ConstB_LBG_Arctan_FOC_h_T LBG_Arctan_FOC_ConstB;

#endif                                /* RTW_HEADER_LBG_Arctan_FOC_private_h_ */

/*
 * File trailer for generated code.
 *
 * [EOF]
 */
